<?php


class Paciente extends CI_Controller {
    
    function __construct() {
        parent::__construct();
        $idPacienteGlobal = $this->input->post('pacienteGlobal_id');
        $this->load->model('paciente_Model');
        if (!is_null($idPacienteGlobal) && $idPacienteGlobal != ''){
            $this->session->set_userdata(
                    'pacienteGlobal',
                        array(
                        'id' => $this->input->post('pacienteGlobal_id'),
                        'nombre' => $this->input->post('pacienteGlobal_nombre')
                        ));
        }

        $pacienteGlobal = $this->session->userdata('pacienteGlobal');
        if (!is_null($pacienteGlobal)){
            $this->args['pacienteGlobal'] = $pacienteGlobal;
        }
    }

    public function index()
    {
        redirect(base_url().'paciente/buscar');
    }
    
     public function deceso(){

        $login=$this->loggedIn();

        $args['title'] = 'Registro de Deceso';
        $args['content'] = 'paciente/deceso';
        $args['username'] = $login['username'];
        $args['pacienteGlobal'] = "";
        $this->load->view('view',$args);
    }
   
    public function nuevo(){
        $this->args['title'] = 'Pacientes';
        $this->args['content'] = 'paciente/historial/index';
        $this->args['historial'] = null;//normalmente es null, porque entra para ingresar un paciente nuevo
        $this->args['tipodoc']= $this->paciente_Model->cargaTipoDocs(); 
        //podemos estar en el caso que ya haya ingresado los datos
        $insert = $this->input->get('insert');
        if (isset($insert) && $insert=='true'){
            $pars = $this->input->get(NULL, true);
            while (list($key, $value) = each($pars)){
                $this->args[$key] = $value;
            }
            $this->load->model('Paciente_Model');
            $this->args['historial'] = $this->Paciente_Model->insert($this->args);
            
        }else{
            $this->args['historial'] = null;
        }
        
        $this->loadView();
    }
    
    public function buscar(){
        $this->load->model('Paciente_Model');
        $this->args['title'] = 'Pacientes';
        $this->args['content'] = 'paciente/buscar/index';        
        $this->loadView();
    }
    public function buscar_ws(){
        $pars = $this-> input->get(NULL, TRUE);
        $cod = $this->input->get('codigo');
        $doc = $this->input->get('docIdentidad');
        $apePat = $this->input->get('apePat');
        $apeMat = $this->input->get('apeMat');
        $nombres = $this->input->get('nombres');        
       
//        $flagnn= $this->input->get('pacNN');
//        
        $flagnn=1;
//        echo "nn en el controlador ".$flagnn." -";
            
            $this->load->model('Paciente_Model');
            $pacientes = $this->Paciente_Model->buscarPacientes($doc, $nombres, $apePat, $apeMat, $cod, $flagnn);
//            $pacientes = $this->Paciente_Model->buscarPacientes($doc, $nombres, $apePat, $apeMat, $cod);
            $jsonData = json_encode($pacientes);
            echo $jsonData;
    }
    
      public function historial()
    {
        $this->load->model('Paciente_Model');
        $idPaciente = $this->input->get('idPaciente');
        $historial = $this->Paciente_Model->getHistorial($idPaciente);  
        $this->args['title'] = 'Pacientes';
        $this->args['content'] = 'paciente/historial/index';
        $this->args['historial'] = $historial;
        $this->load->model('Especialidad_Model');
        $this->args['especialidades'] = $this->Especialidad_Model->getEspecialidadesAtencion();
        $this->loadView();
    }
       
    public function parentesco(){
        $this->load->model('Paciente_Model');
        $this->args['title'] = 'Pacientes';
        $this->args['content'] = 'paciente/parentesco';
        $this->args['relaciones'] = $this->Paciente_Model->getRelaciones(); 
        $this->loadView();
    }
        public function buscarPeciente(){
        //cargar modelo para buscar paciente,  
        $idchoose = $this->input->get('flag');
        $nombre = $this->input->get('nombres');
        $apePat = $this->input->get('apePat');
        $apeMat = $this->input->get('apeMat');
        $Documento = $this->input->get('Documento');
        $idTabla = $this->input->get('idTabla');
      
        $idproc=   '';
        $consulta=$this->paciente_Model->buscarPaciente($Documento,$nombre,$apePat,$apeMat);
           
        $cad= "<table id=".$idTabla." class=\"table table-hover\" width=\"700px\">
        <tbody>
                    <caption><h4>Pacientes</h4></caption>
                        <thead>
                        <th>N° Documento</th>
                        <th>Nombres</th>
                        <th>Apellidos</th> 
                        </thead>
        </tbody>";
        foreach($consulta as $registro)
        {
            if ($idchoose==1){
        $cad=$cad. "<tr onclick=\"cargarPaciente(this,'idnomPa', 'idcodPa')\"><td style='display:none' id='id'>".$registro['cod']."</td><td id='codigo'>".$registro['doc']."</td><td id='nombre'>".$registro['nom']."</td><td id='apellidos'>".$registro['pat']." ".$registro['mat']."</td></tr>";
        }
        else {$cad=$cad. "<tr onclick=\"cargarPaciente(this,'idnomPa2', 'idcodPa2')\"><td style='display:none' id='id'>".$registro['cod']."</td><td id='codigo'>".$registro['doc']."</td><td id='nombre'>".$registro['nom']."</td><td id='apellidos'>".$registro['pat']." ".$registro['mat']."</td></tr>";}

        }

        $cad=$cad. "</tbody></table>";
        echo $cad;
    }
    
      public function obtenerPacienteAjax(){
        $documento = $this->input->get('tipoDoc');
        $codigo = $this->input->get('codigoDocumento');
         $this->load->model('Persona_Model');
         $codPaciente = $this->Persona_Model->buscarPersonaPorCodigo($codigo,$documento);
        $jsonData = json_encode($codPaciente);
       echo $jsonData;
    }
    
    public function obtenerRelacion(){
       
       $this->load->model('Paciente_Model');
       $idpaciente=$this->input->get('idpaciente1');
       $idepariente=$this->input->get('idpariente1');
       $relacion = $this->Paciente_Model->sacarelacion($idpaciente,$idepariente);
        $jsonData = json_encode($relacion);
       echo $jsonData;
   }
   
   
    
    public function registrarParentesco(){
        $this->load->model('Paciente_Model');
        
        $idRelacion=$this->input->get('idre');
        $idPac1=$this->input->get('pac1');
        $idPac2=$this->input->get('pac2');
        $this->Paciente_Model->insertarParentesco($idRelacion, $idPac1, $idPac2);
        
    }
    
    public function obtenerConsulta(){
        $codigoProcedimiento = $this->input->get('codigoProcedimiento');
        $this->load->model('Consulta_Model');
        $procedimiento = $this->Consulta_Model->getConsultaCompleta($codigoProcedimiento);
        
        $args['procedimiento'] = $procedimiento;
        
        $this->load->model('cirugia_model');
        $this->load->model('Paciente_Model');
        
        $idProc=$codigoProcedimiento;
        $paciente=$this->Paciente_Model->obtenerCodPersona($idProc);
        $codPac=$paciente['Persona'];
        
        $detas=$this->cirugia_model->buscardetalleCirugia($idProc);
        $yaplani=1;
        if(count($detas)!=0){
            $deta=$detas[0];
            $args['idProcediminto'] = $idProc;
            $args['codOrd'] = $deta['Orden'];
            $noms=$this->cirugia_model->nomEstado($deta['Orden']);
            $nom=$noms[0];
            $args['EstOrd'] = $nom['descrip'];       
            $args['esp'] = $deta['Especialidad']; 
            $args['codPac'] = $codPac;
            $nom=$this->cirugia_model->nomPaciente($codPac);
            $args['NomPac'] =  $nom['nom'].$nom['apeP'].$nom['mat']; 
            $nomEsp=$this->cirugia_model->nomEspeciali($deta['Especialidad']);
            $args['nomEspe'] = $nomEsp['Descripcion'];
            $args['clasCiru'] = $deta['ClasificacionCiru'];
            $args['tipCiru'] = $deta['TipoCiru'];
            //Necesario para descripcionCiru
            $args['diagPreop'] = $deta['Diagnostico']; //diagnostico preoperatorio
            $args['riesgoPreop'] = $deta['RiesgoPreop']; //riesgo preoperatorio
            $args['plaPreop'] = $deta['PlanTerap']; //pla preoperatorio
            $args['plaquiru'] = $deta['PlanQuiru'];//plan quirurgico
            $args['pronostico'] = $deta['Pronostico'];//pronostico  
            $args['complica'] = $deta['Complicaciones'];
            $args['tratamiento'] = $deta['Tratamiento'];
            $args['recomienda'] = $deta['Recomendacion'];
            //necesario para lista de examenes        
            if ($deta['Orden']){
            $examenes = $this->cirugia_model->buscarExamenes($deta['Orden']);
            $args['Examenes'] = $examenes;        
            }           
            //necesario para medicamento de cirugia
            $medicamentos = $this->cirugia_model->obtenerMedicxCiru($idProc);
            $idSitio=$this->cirugia_model->buscarSitio($idProc);
            $args['cama'] = $idSitio['Ambiente'];            
    //        $medicamentos=$this->obtenerMedicProc($idProcimiento);
            $args['medicamentos'] = $medicamentos;
            $args['equipos'] = $this->cirugia_model->obtenerEquixCiru($idProc);
            //necesario para programación de cirugia
            $plani=$this->cirugia_model->obtenerPlani($idProc);
            $args['fechReg'] = date('d-m-y');; 
            if(count($plani)!=0){
               $args['fechOpe'] = $plani[0]['Fecha']; 
            $args['horaIni'] = $plani[0]['HoraIni']; 
            $args['horaFin'] = $plani[0]['HoraFin'];
            $args['quirofano'] = $plani[0]['Ambiente']; 
            }
            else 
            {
                $args['fechOpe'] = ""; 
            $args['horaIni'] =  "";
            $args['horaFin'] =  "";
            $args['quirofano'] = "";
            
            }
    //        $args['personal'] = $this->obtenerPersonalCiru($idProcimiento); //un arreglo que contiene donde cada registro contiene : codPersonal, nombre completo, rol en la cirugia
//            $args['personal'] = $this->cirugia_model->obtenerPersonalxCiru($idProc);
            
            $codPersonasPersonal=$this->cirugia_model->obtenerPersonalxCiru($idProc);
            //ahora se obtendrá el arreglo con los datos del personal como un subarreglo
            
          
            $per=array();
            $aux=array();
            foreach ($codPersonasPersonal as $codPersona){
                $codigoPersona=$codPersona['personal'];                
                $datosPersonal= $this->cirugia_model->obtenerPersonal($codigoPersona);
                $aux=array('nombre'=>$datosPersonal[0]['nombre']." ".$datosPersonal[0]['apePat']." ".$datosPersonal[0]['apeMat'],
                             'codPersonal'=>$datosPersonal[0]['codPersonal'],'tipoPersonal'=> $datosPersonal[0]['tipoPersonal']  );                   
                array_push($per,$aux);
            }            
            $args['personal'] = $per;
            
            
            //necesario para informeCiru
            $args['comboMedicamen'] = $this->cirugia_model->getMedicamentos();
        }
       else $yaplani=0;
        $args['indPlani'] = $yaplani;
        
        
        $this->load->view('consulta/verConsulta',$args);
    
    }
    
        public function obtenerExamen(){
        $codigoProcedimiento = $this->input->get('codigoProcedimiento');
        $this->load->model('Consulta_Model');
        $procedimiento = $this->Consulta_Model->getExamenCompleto($codigoProcedimiento);
        
        $this->load->model('Examen_model');
        $anexos=$this->Examen_model->obtenerAnexos($codigoProcedimiento);
        $args['anexos']=$anexos;
        
        $args['procedimiento'] = $procedimiento;
        $this->load->view('consulta/verExamen',$args);
    
    }
    
    public function muerte(){
        $login=$this->loggedIn();
        
      //  $args['title'] = 'Registro de Deceso';
      //  $args['content'] = 'paciente/deceso';
      //  $args['username'] = $login['username'];
      //  $args['pacienteGlobal'] = "";
        
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        if ($this->input){
            $datos=array(
                    'PersonaP'=>$this->input->post('tvalIdPaciente'),
                    'Motivo'=>$this->input->post('Motivo'),
                    'HoraDeceso'=>$this->input->post('hDeceso'),
                    'PersonaD'=>$idPersona,
                    //'mDeceso'=>$this->input->post('mDeceso'),
                    'FechaDeceso'=>$this->input->post('FechaDec'));
            $this->load->model('paciente_model');
            $resultado=$this->paciente_model->nuevoDeceso($datos,$this->input->post('tvalCodigoPaciente'));
            
            
            if ($resultado)
                $this->session->set_flashdata('success',"Se guardó el deceso con éxito");
            else
                $this->session->set_flashdata('error',"Lo sentimos");
            redirect(base_url().'paciente/deceso','refresh');
     //       $this->load->view('view',$args);

           
        }
    }
}

?>
